package com.zhongwang.mms.module.material.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * @Description: 库存调整申请
 * @Author: mc
 * @Date: 2020/04/16
 */
@Data
public class MAdjustModel {

    private String cellMergeFlg; // 单元格合并依据属性名称

    private Integer adjId; //主键

    private Double adjAfterAvaNum; //调整后可用数量

    private Double adjAfterAvaWeight; //调整后可用重量

    private Double adjAfterNum;  //调整后在库数量

    private Double adjAfterWeight;  //调整后在库重量

    private Double adjBeforeAvaNum;  //调整前可用数量

    private Double adjBeforeAvaWeight;  //调整前可用重量

    private Double adjBeforeNum;  //调整前在库数量

    private Double adjBeforeWeight;  //调整前在库重量

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date adjAuditDate;  //审核时间

    private String adjAuditSay;   //审核意见

    private String adjAuditor;  //审核人

    private Integer adjInType; //类型  1：库存 2：项目（批次字段）


    private String adjMatDesc; // 调整后物料描述

    private String matNameDesc;//调整前物料描述

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date adjDate;  //调整单制作时间

    private String adjPerson; //调整单制作人员

    private String adjProjectCode;  //项目编码（批次字段）

    private String adjProjectName;  //项目名称（部位，批次字段）

    private String adjReason;  //调整原因

    private String adjSpec;  //特殊说明（批次字段）

    private Integer adjStatus;  //状态 1：删除 2：保存 3：提交 4：审核通过 5：审核不通过

    private String adjTrackCode;  //跟踪号（批次字段）

    private String adjAcc;  //帐号

    private Integer adjAfterMatId;  //原料外键

    private Integer adjAfterItyId;  //调整后原料在库外键

    private Integer adjBeforeItyId;  //调整前原料在库外键

    private Double adjPrice;  //调整后单价

    private String adjOrderCode;//生成单据编号

    private Integer adjBeAfFlag;//生成单据序号

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    private Double adjAmount;  //调整后金额

    private Double ityPrice;  //单价（加权平均）弃用

    private Double ityAmount;  //金额（数据库公式自动计算）弃用

    private Integer ityStoId; //仓库外键(应该作为联合主键)

    private Integer matId; //保存管理物料id

    private Double adjBeforePrice;//调整前单价

    private Double adjBeforeAmount;//调整前金额

    private Double matHeight;  //米重/厚度

    private Double matLength;//长度

    private Double matWidth;//宽度

    private Integer matFormulaType;//重量计算公式

    private String matSpecId;//规格外键

    private Integer adjOditStatus;//判断数据类型 1：新增库存

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private String adjBackDate;//回货日期

    private Double adjNum;//调整数量

    private Double adjWeight; //调整重量

    private Integer adjType;//调整类型 1是申请调整，2是盘点调整

    private Integer adjPalValStatus; //盘点损益类型  1盘盈 2盘亏

    private Integer adjAjaId;//盘点审核反写外键

    private Integer msName;//库位

}